<?php

class ml_tool_active
{
    const ACTIVELINK_FORMAT = '<a href="{#url}">{#active}</a>';
    /**
     * 匹配所有 #活动# 活动形式
     *
     * @param string $str
     * @return array
     */
    static public function findAllActive($str)
    {
        preg_match_all("/#([^#]+)#/u",$str,$rs);
        return count($rs[1])>0 ? $rs[1] : false;  
    }
    static private function _get_sign(){
        return array(
                '\x{4e00}-\x{9fa5}', //中文
                'a-zA-Z',            //字母
                '0-9',               //数字
                '_',                 //下划线
                '，',                  //中文逗号
                '‘','’',              //点引号
                '“', '”',             //双引号
                '。',                 //句号
                '—',                 //中文波折号
                '《', '》',          //中文上引号
                '、'    ,                 //中文顿号
                '？',                 //中文问号
        );
    }
    static public function filter_active($str, $active){
        if(!is_array($active))
            return false;
        foreach($active as $key=>$value){
            $active[$key] = "#".$value."#";
        }
        $count = count($active);
        $replace = array_pad(array(), $count, '');
        return str_replace($active, $replace, $str);
    }
    
    static public function active2url($str, $active){
        if(!is_array($active))
            return false;
        foreach($active as $key=>$value){
            $a_key = Tool_string::un_html("#".$key."#");
            $array = array('{#url}'=>ml_tool_urlMaker::lb_album_show($value['class_id'], $value['album_id']), '{#active}'=>$a_key);
            $url = strtr(self::ACTIVELINK_FORMAT, $array);
            $active[$a_key] = $url;
        }
        return strtr($str, $active);
    }
    
}